XML DOM cloneNode() 方法
定義和用法
cloneNode() 方法可創(chuàng)建指定的節(jié)點的精確拷貝。
此方法可返回所復制的節(jié)點。
語法:
nodeObject.cloneNode(include_all)
參數 | 描述 |
---|---|
include_all | 必需。假如邏輯參數被設置為真,那么被克隆的節(jié)點會克隆原節(jié)點的所有子節(jié)點。 |
返回值
當前節(jié)點的副本。
說明
該方法將復制并返回調用它的節(jié)點的副本。如果傳遞給它的參數是 true,它還將遞歸復制當前節(jié)點的所有子孫節(jié)點。否則,它只復制當前節(jié)點。
返回的節(jié)點不屬于文檔樹,它的 parentNode 屬性為 null。
當復制的是 Element 節(jié)點時,它的所有屬性都將被復制。但要注意,當前節(jié)點上注冊的事件監(jiān)聽器函數不會被復制。
實例
在所有的例子中,我們將使用 XML 文件 books.xml,以及 JavaScript 函數 loadXMLDoc()。
下面的代碼片段可克隆首個 <book> 節(jié)點,然后把它添加到節(jié)點列表的末尾:
xmlDoc=loadXMLDoc("books.xml");
var x=xmlDoc.getElementsByTagName('book')[0];
var cloneNode=x.cloneNode(true)
;
xmlDoc.documentElement.appendChild(cloneNode);
//Output all titles
var y=xmlDoc.getElementsByTagName("title");
for (i=0;i<y.length;i++)
{
document.write(y[i].childNodes[0].nodeValue);
document.write("<br />");
}
輸出:
Everyday Italian Harry Potter XQuery Kick Start Learning XML Everyday Italian